Objectif : Désambiguïsation des intitulés de conférences renseignés dans les données HAL, en se basant sur le référentiel CORE

Données à nettoyer :

  • Sources des données : API HAL requêtée sur les références de la collection HAL Inria de type COMM publiées entre 2018 et 2022
  • Dimensions : 21 variables et 10111 individus

Données de référence :


Résumé des bases

HAL

Variable Stats / Values Freqs (% of Valid) Graph Missing
bibtex_key
[character]
1. {Binary is the new Black
2. { - 6th I
3. {IFOW 2020 - Integrated F
4. {}}
5. {Workshop AutoML 2018 @ I
[ 10101 others ]
2 ( 0.0%)
2 ( 0.0%)
2 ( 0.0%)
2 ( 0.0%)
2 ( 0.0%)
10101 (99.9%)
0
(0.0%)
article_type
[character]
1. booktitle =·
2. inproceedings
3. organization =·
4. publisher =·
5. series =·
6. title =·
29 ( 0.3%)
10070 (99.6%)
2 ( 0.0%)
2 ( 0.0%)
1 ( 0.0%)
7 ( 0.1%)
0
(0.0%)
title
[character]
1. Taking advantage of patho
2. Anticipation in the retin
3. New models and preprocess
4. Unit Commitment under Mar
5. An efficient domain decom
[ 9942 others ]
5 ( 0.0%)
4 ( 0.0%)
4 ( 0.0%)
4 ( 0.0%)
3 ( 0.0%)
10050 (99.8%)
41
(0.4%)
author
[character]
1. Rubino, Gerardo
2. Laugier, Christian
3. Makhalova, Tatiana and Ku
4. Maumet, Camille
5. Merlet, Jean-Pierre
[ 8419 others ]
14 ( 0.1%)
13 ( 0.1%)
12 ( 0.1%)
12 ( 0.1%)
12 ( 0.1%)
10014 (99.4%)
34
(0.3%)
url
[character]
1. https://hal-brgm.archives\ 2. https://hal-brgm.archives\ 3. https://hal-brgm.archives\ 4. https://hal-cea.archives-\ 5. https://hal-cea.archives-\ [ 10072 others ] 1 ( 0.0%)
1 ( 0.0%)
1 ( 0.0%)
1 ( 0.0%)
1 ( 0.0%)
10072 (100.0%)
34
(0.3%)
editor
[character]
1. ACM
2. Benzitoun, Christophe and
3. Chantal Keller and Timoth
4. IEEE
5. AFIHM
[ 357 others ]
11 ( 2.2%)
11 ( 2.2%)
9 ( 1.8%)
9 ( 1.8%)
8 ( 1.6%)
460 (90.6%)
9603
(95.0%)
series
[character]
1. Lecture Notes in Computer
2. LNCS
3. Proceedings of Machine Le
4. Leibniz International Pro
5. CEUR Workshop Proceedings
[ 1001 others ]
291 (16.9%)
91 ( 5.3%)
30 ( 1.7%)
27 ( 1.6%)
23 ( 1.3%)
1261 (73.2%)
8388
(83.0%)
volume
[character]
1. LNCS
2. 1
3. Lecture Notes in Computer
4. 2
5. 18
[ 676 others ]
24 ( 2.0%)
21 ( 1.8%)
19 ( 1.6%)
11 ( 0.9%)
10 ( 0.8%)
1096 (92.8%)
8930
(88.3%)
number
[character]
1. 1
2. 2
3. 3
4. 9
5. 16
[ 151 others ]
13 ( 5.2%)
11 ( 4.4%)
7 ( 2.8%)
7 ( 2.8%)
6 ( 2.4%)
207 (82.5%)
9860
(97.5%)
pages
[character]
1. 1-6
2. 1-8
3. 1-10
4. 1-4
5. 1-5
[ 2284 others ]
275 ( 6.2%)
237 ( 5.3%)
162 ( 3.6%)
157 ( 3.5%)
137 ( 3.1%)
3474 (78.2%)
5669
(56.1%)
year
[character]
1. 2018
2. 2019
3. 2020
4. 2021
5. 2022
2523 (25.0%)
2282 (22.6%)
1813 (17.9%)
1827 (18.1%)
1666 (16.5%)
0
(0.0%)
month
[character]
1. Jun
2. Jul
3. Sep
4. Oct
5. Dec
[ 7 others ]
1536 (15.5%)
1262 (12.7%)
1244 (12.5%)
968 ( 9.8%)
922 ( 9.3%)
3984 (40.2%)
195
(1.9%)
keywords
[character]
1. Formal Concept Analysis
2. accelerated fixed point ;
3. Adaptive Control ; Contro
4. Antivirus ; Evasion ; Win
5. biclustering ; FCA ; patt
[ 4824 others ]
3 ( 0.1%)
2 ( 0.0%)
2 ( 0.0%)
2 ( 0.0%)
2 ( 0.0%)
4852 (99.8%)
5248
(51.9%)
pdf
[character]
1. https://hal-agroparistech\ 2. https://hal-agroparistech\ 3. https://hal-brgm.archives\ 4. https://hal-brgm.archives\ 5. https://hal-brgm.archives\ [ 8333 others ] 1 ( 0.0%)
1 ( 0.0%)
1 ( 0.0%)
1 ( 0.0%)
1 ( 0.0%)
8333 (99.9%)
1773
(17.5%)
hal_id
[character]
1. cea-01746138
2. cea-01854072
3. cea-01855997
4. cea-01883311
5. cea-02339800
[ 10100 others ]
1 ( 0.0%)
1 ( 0.0%)
1 ( 0.0%)
1 ( 0.0%)
1 ( 0.0%)
10100 (100.0%)
6
(0.1%)
hal_version
[character]
1. v1
2. v2
3. v3
4. v4
5. v5
[ 2 others ]
9196 (91.0%)
700 ( 6.9%)
153 ( 1.5%)
37 ( 0.4%)
11 ( 0.1%)
8 ( 0.1%)
6
(0.1%)
publisher
[character]
1. IEEE
2. Springer
3. ACM
4. Springer International Pu
5. ACM Press
[ 160 others ]
981 (39.9%)
415 (16.9%)
367 (14.9%)
166 ( 6.8%)
111 ( 4.5%)
417 (17.0%)
7654
(75.7%)
doi
[character]
1. 10.1145/nnnnnnn.nnnnnnn
2. 10.1145/1122445.1122456
3. 10.4230/LIPIcs
4. 10.4230/LIPIcs.CVIT.2016.
5. 10.1007/978-3-030-27520-4
[ 3578 others ]
6 ( 0.2%)
5 ( 0.1%)
4 ( 0.1%)
3 ( 0.1%)
2 ( 0.1%)
3585 (99.4%)
6506
(64.3%)
organization
[character]
1. IEEE
2. ACM
3. INSA Lyon
4. Soci'et'e Franaise
5. IFAC
[ 271 others ]
52 (11.6%)
19 ( 4.2%)
17 ( 3.8%)
13 ( 2.9%)
10 ( 2.2%)
339 (75.3%)
9661
(95.5%)
booktitle
[character]
1. CDC 2019 - 58th IEEE Conf
2. NeurIPS 2020 - 34th Confe
3. IFAC 2020 - 21st IFAC Wor
4. ICPR 2020 - 25th Internat
5. CDC 2018 - 57th IEEE Conf
[ 7362 others ]
29 ( 0.3%)
19 ( 0.2%)
18 ( 0.2%)
17 ( 0.2%)
16 ( 0.2%)
9978 (99.0%)
34
(0.3%)
address
[character]
1. Paris, France
2. Virtual, France
3. Nice, France
4. Nancy, France
5. Lyon, France
[ 2113 others ]
364 ( 3.6%)
128 ( 1.3%)
123 ( 1.2%)
111 ( 1.1%)
110 ( 1.1%)
9270 (91.7%)
5
(0.0%)


CORE

Variable Stats / Values Freqs (% of Valid) Graph Missing
title
[character]
1. Australian Institute of C
2. Australian Women in IT Co
3. IEEE Global Telecommunica
4. International Command and
5. International Conference
[ 2201 others ]
2 ( 0.1%)
2 ( 0.1%)
2 ( 0.1%)
2 ( 0.1%)
2 ( 0.1%)
2202 (99.5%)
0
(0.0%)
Acronym
[character]
1. IDC
2. ISC
3. EGC
4. ICCC
5. ICEC
[ 1963 others ]
4 ( 0.2%)
4 ( 0.2%)
3 ( 0.1%)
3 ( 0.1%)
3 ( 0.1%)
2015 (99.2%)
180
(8.1%)
Source
[character]
1. CORE2021
2. CORE2018
3. ERA2010
4. CORE2014
5. CORE2020
[ 2 others ]
956 (43.2%)
741 (33.5%)
439 (19.8%)
36 ( 1.6%)
19 ( 0.9%)
21 ( 0.9%)
0
(0.0%)
Rank
[character]
1. C
2. B
3. A
4. A*
5. Australasian
[ 64 others ]
982 (44.5%)
564 (25.6%)
334 (15.1%)
64 ( 2.9%)
61 ( 2.8%)
202 ( 9.2%)
5
(0.2%)
DBLP
[character]
1. none
2. view
1364 (61.7%)
848 (38.3%)
0
(0.0%)
hasData?
[character]
1. No
2. Yes
1504 (68.0%)
708 (32.0%)
0
(0.0%)
Primary FoR
[integer]
Mean (sd) : 2517.5 (1889.4)
min < med < max:
8 < 1006 < 4613
IQR (CV) : 3802 (0.8)
43 distinct values 99
(4.5%)
Comments
[integer]
Mean (sd) : 0.5 (4.4)
min < med < max:
0 < 0 < 132
IQR (CV) : 0 (8.5)
24 distinct values 0
(0.0%)
Average Rating
[character]
1. N/A
2. 5.0
3. 4.0
4. 3.0
5. 4.5
[ 10 others ]
1990 (90.0%)
104 ( 4.7%)
55 ( 2.5%)
13 ( 0.6%)
11 ( 0.5%)
39 ( 1.8%)
0
(0.0%)
core_id
[integer]
Mean (sd) : 1106.5 (638.7)
min < med < max:
1 < 1106.5 < 2212
IQR (CV) : 1105.5 (0.6)
2212 distinct values
(Integer sequence)
0
(0.0%)



Jointure des bases


Afin de maximiser le matching des intitulés de conférences, un travail de nettoyage et de lémmatisation est préalablement effectué Les intitulés sont ainsi mis en minuscules, sans accents et sans caractères spéciaux. Un match est opéré 2 fois pour faire correspondre les intitulés des données du HAL avec ceux du référentiel CORE.

Dans un premier temps, les chaînes de caractères formant l’intitulé des conférences HAL sont matchés avec celles du CORE, à partir de quoi on obtient une distance correspondant au nombre de caractères qui ne sont pas communs au 2 intitulés (si l’intitulé est exactement le même, la distance sera donc de 0). Cette manipulation est réalisée sur la variable HAL booktitle, matchée avec la variable CORE title indiquant l’intitulé des conférences.

Dans un deuxième temps ce sont seulement les acronymes qui sont matchés entre les données HAL et le référentiel CORE. Ces derniers sont extraits du nom de conférence disponible dans le champ “booktitle” des données HAL. La jointure se fait cette fois sur une base de match exact, contrairement aux manipulations réalisées en premier temps sur les intitulés des conférences. Ainsi, lorsque l’acronyme extrait du titre disponible dans les données HAL correspond à l’acronyme CORE, les informations du référentiel sont récupérées et viennent enrichir les données HAL.


Match par distance entre les chaînes de caractères (score)


La première jointure est réalisée en plafonnant la distance entre les 2 chaînes de caractères à 50 caractères. Pour chaque communication HAL, plusieurs conférences sont matchées avec un score de distance allant de 0 à 50. Les données sont ensuite regroupées par communication (hal_id), puis, la conférence ayant le nom le plus proche de celui renseigné dans les données HAL est gardée. Dans le cas où 2 noms de conférences ont la même distance par rapport au nom CORE et que celle-ci est la distance minimale, les 2 conférences sont gardées dans les données enrichies, et devront alors faire l’objet d’un traitement manuel.

Les intitulés originaux des communications et conférences des 2 sources de données sont réinjectés dans les données, à la place des intitulés lémmatisés.

Dans la table ci-dessous, les colonnes hal_title à booktitle proviennent de HAL ; les colonnes core_title à Primary FoR proviennent de CORE ; les colonnes distance et method sont générées par l’algorithme de comparaison.


Cette première méthode de jointure non exacte sur les intitulés de conférences a permis d’enrichir 9014 communications sur 10111, soit 89%. Parmi ces jointures, 72 sont exactes, c’est-à-dire que l’intitulé dans les données HAL correspond exactement à celui de la conférence dans les données CORE (aux caractères spéciaux et majuscules près).


Match par mot commun aux deux chaines de caractères (token)


La deuxième jointure est réalisée en identifiant l’acronyme qui se trouve fréquemment dans l’intitulé de conférence des données HAL, pour le matcher avec les données CORE. Lorsque l’acronyme identifié se retrouve à l’identique dans le champ Acronym de CORE, alors l’entrée est enrichie du référentiel CORE. L’extraction de l’acronyme est faite de deux manières à partir du champ booktitle des données HAL :

  • le premier mot est extrait (excepté s’il s’agit d’un des 3 mots suivants : IEEE, ACM, SIAM qui sont des sociétés savantes organisant de nombreuses conférences) ;
  • le ou les mots entièrement en majuscules sont extraits ;
  • un arbitrage est effectué entre les 2 valeurs récupérées, selon un ensemble de règles implémentées dans le script visible ci-dessous.
# règle pour arbitrer entre premier mot ou mot en capitales
hal_acronym = case_when(is.na(capital_word) ~ first_word,
                        is.na(first_word) ~ capital_word,
                        first_word == "In" ~ capital_word, #cas particulier où "In" ne correspond pas à l'acronyme de la conf
                        first_word == capital_word ~ first_word,
                        str_detect(first_word, "[0-9]") == TRUE ~ capital_word, #qd first_word contient un chiffre
                        nchar(capital_word) == 1 ~ first_word, #qd 1 seul caractère dans capital_word
                        grepl('[^[:alnum:]]', first_word) ~ capital_word, #qd first_word contient des caractères spéciaux (hors lettres et digits)
                        TRUE ~ capital_word)  #dans les autres cas on garde le mot en lettre capitales car plus fiable

Après jointure des acronymes extraits des noms de conférences HAL avec les données du CORE, les données sont réharmonisées avec les bases initiales pour récupérer les intitulés et acronymes non lemmatisés.


Cette deuxième méthode de jointure exacte par match de l’acronyme CORE, a permis d’enrichir 5141 communications sur 10111, dont 290 qui n’avaient pas été enrichies par la première méthode de distance entre les chaînes de caractères (score).


Données finales enrichies

Finalement, nous consolidons les données HAL enrichies via la méthode de score et via la méthode de token dans une même base de données. Lorsqu’un match avec le référentiel CORE a été trouvé avec les 2 méthodes, c’est la méthode du token qui est préférée car selon nos observations, elle est généralement plus fiable. L’unique exception à cette règle intervient lorsque la méthode de jointure par score est parfaite ; la distance entre les deux chaînes de caractères est de 0. Ainsi, nous avons au total 9304 communications harmonisées et enrichies par les données CORE, soit 92% des données HAL récupérées par les années de 2018 à 2022. Parmi ces 9304 communications enrichies, 4164 sont finalement issues de la méthode du score (match non exact entre les intitulés de conférence) et 5140 de la méthode du token (match exact entre les acronymes de conférence).

 

Réalisé par Datactivist

2023/01/10